//
// Swiftfin is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
//
// Copyright (c) 2025 Jellyfin & Jellyfin Contributors
//

import SwiftUI

extension VideoPlayer.PlaybackControls.NavigationBar.ActionButtons {

    struct GestureLock: View {

        @EnvironmentObject
        private var containerState: VideoPlayerContainerState

        private var isGestureLocked: Bool {
            get { containerState.isGestureLocked }
            nonmutating set { containerState.isGestureLocked = newValue }
        }

        var body: some View {
            Button(
                L10n.gestureLock,
                systemImage: VideoPlayerActionButton.gestureLock.systemImage
            ) {
                isGestureLocked.toggle()
            }
            .videoPlayerActionButtonTransition()
        }
    }
}
